﻿namespace OMS.Ice.T4Generator
{
    /// <summary>
    ///   Specifies the .NET compiler version to use when compiling the generator.
    /// </summary>
    /// <remarks>
    ///   If the .NET 3.5 version of OMS.Ice runs in the .NET 4.0 environment, compiler version could also be v4.0.
    /// </remarks>
    public enum CompilerVersion
    {
        /// <summary>
        ///   Lets .NET choose the appropriate compiler version. Using this value overwrites the compiler settings specified in the template directive.
        /// </summary>
        Auto,

        /// <summary>
        ///   Always take the version from the template directive. If no version has been specified in the template directive, CompilerVersion.Auto will be assumed.
        /// </summary>
        Template,

        /// <summary>
        ///   Always take the .NET 3.5 compiler, regardless of the settings in the template file.
        /// </summary>
        /// <remarks>
        ///   Specifying .NET 4.0 may fail if .NET 4.0 is not installed an the target system (Windows XP, Windows Vista, Windows 7)
        /// </remarks>
        V40
    }
}